The present invention relates to managing computing resources, and more particularly to managing a deployment of computing resources between different cloud technologies.
Cloud providers offer both Infrastructure as a Service (IaaS) and Container as a Service (CaaS) (i.e., Container Cloud) to users. The IaaS is based on bare metal machines or virtual machines (VMs) and the container cloud is based on a container technology. Vendors provide resources from the cloud provider view, rather than from the end user's holistic business view, which results in dispersed VMs and containers set up at discrete cloud areas and an inefficient utilization of infrastructure hardware resources. Known systems provide techniques for implementing IaaS or CaaS orchestration, but do not consider how orchestration patterns are inferred.
A cloud provider can monitor and identify under-utilized VMs in an IaaS cloud, but it is difficult to shift the workload to a CaaS cloud. Further, when the monitoring by the cloud provider identifies over-utilized containers, there is no easy way to shift the workload to an IaaS cloud. Such difficult workload shifts between different cloud technologies using known techniques require sacrifices in efficiency and cost.